package com.baozheyangken.ai_learn.service;

import com.baozheyangken.ai_learn.pojo.dto.UserDTO;
import com.baozheyangken.ai_learn.pojo.entity.User;
import com.baozheyangken.ai_learn.pojo.result.Result;
import com.baozheyangken.ai_learn.pojo.vo.UserLoginVO;
import com.baozheyangken.ai_learn.pojo.vo.UserVO;

import java.util.List;

public interface UserService {
    Result<UserDTO> userRegister(UserVO userVO);

    User userLogin(UserLoginVO userLoginVO);

    User userInfo();

    //Result<UserDTO> userUpdate(String email, String password, String oldPassword);
    Result<UserDTO> userUpdate(Integer id,String username, String email, String password, String oldPassword);

    Result userDelete(Integer id);

    List<String> userPermission();
    /**
     * 获取所有用户
     * @return 用户列表
     */
    List<User> getAllUsers();

    /**
     * 添加新用户
     * @param user 用户信息
     * @return 新用户信息
     */
    User addUser(User user);

    /**
     * 更新用户信息
     * @param user 用户信息
     * @return 更新后的用户信息
     */
    User updateUser(User user);

    /**
     * 删除用户
     * @param id 用户ID
     */
    void deleteUser(Integer id);

    /**
     * 重置用户密码
     * @param id 用户ID
     */
    void resetPassword(Integer id);

}
